|
|
|
|
|
|
|
Practical Guidelines for Implementing the Graphical User Interface |
|
|
|
|
|
|
|
|
Expect to consume at least a third of your project schedule in designing the forms and making them reasonably usable. Poorly designed GUI forms reduce the productivity of the users because they have to compensate for the GUI design flaws. This compensation for flaws also reduces the chances of the software being reusable, because your form controllers might have flawed public methods that control the flow of events in the forms. |
|
|
|
|
|
|
|
|
Properly place the data entry controls in the order that users expect. You can find clues about this order by interviewing your users and/or analyzing artifacts from the domain from which the users will input the data. This includes paper documents that are the source of the data being entered. |
|
|
|
|
|
|
|
|
At every opportunity, be sure to set the tab stop values of each of the form objects. For grids and spreadsheets, be sure to allow the user to tab to the next logical column in the row. When necessary, design your GUI form to automatically tab to the next logical data entry item. Enforcing these issues alone can boost productivity by 2530% |
|
|
|
|
|
|
|
|
Note Of course, autotabbing can cause a slight delay when the user realizes he or she made a mistake in the preceding field. Predicting which fields have a higher probability of errors is difficult. You and your users must weigh the benefits of autotabbing against the potential problem. |
|
|
|
|
|
|
|
|
|
Labels should be captioned clearly so that the user doesn't have to guess what a data entry field means. For grids and spreadsheets, make the column and row headings equally informative. Stay away from acronyms. |
|
|
|
|
|
|
|
|
Make sure the user doesn't have to scroll a form full of too many controls. This is especially important for critical business tasks that are time-sensitive. Instead of forms that are scrollable, use wizardseither the Wizard Manager or a customized wizard. If users have to input large amounts of records that represent pure data entry apart from interviewing their customers, try to use grids for such data entry. Default to the first logical field on the form when the form loads. |
|
|
|
|
|